-
Notifications
You must be signed in to change notification settings - Fork 0
Sync common files from infra repository #18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Make `ostree container image pull` merge commit reproducible
We don't actually publish any of these so there's no need for this.
Just organizational cleanup, a number of Rust projects do this: https://github.com/search?q=+%22crates%2F*%22+path%3ACargo.toml+-is%3Afork&type=code&p=5 Signed-off-by: Colin Walters <[email protected]>
Move all crates under `crates/`
This moves all of the code related to handling decompression out of container/unencapsulate.rs and into a new module `generic_decompress`. The only exposed API is via the existing (relocated) `Decompressor` type. Internal to `generic_decompress` this adds a new trait `ReadWithGetInnerMut`, which allows access to the original, inner, un-decompressed stream. This is used when finishing the decompressor, whether explicitly through calling its `finish()` method, or implicitly by dropping it. For things like GzDecoder, we don't want to read via the actual decompression reader because we don't care about decompressing at this point. Plus, the inner reader may have encountered an error partway through, and trying to decode via decompression will error with UnexpectedEof. Instead, wrap a reader for each content type which implements `ReadWithGetInnerMut`. When we finish decompressing, use the trait method `get_inner_mut()` to read directly from inner stream to flush any data. Resolves: #1407 Signed-off-by: John Eckersberg <[email protected]>
unencapsulate: use "inner" stream when finishing Decompressor
I've come to the conclusion that Task isn't buying us much value over Command. I'd like to eventually drop it. This is just getting the ball rolling. Signed-off-by: Colin Walters <[email protected]>
This is intended to aid unit testing outside of `upgrade --apply`. Signed-off-by: Colin Walters <[email protected]>
osbuild: Drop use of Task
And add a single test which verifies that our internal `reboot` code actually does what it should (via systemd-run etc.) This took me way, way too long to do...there were so many missteps and confusion. First of all, I kept trying to use `systemd.extra-unit` from https://www.freedesktop.org/software/systemd/man/latest/systemd-debug-generator.html# but that doesn't exist in stream9. I spent way too long trying to debug the fact that switching from `podman run <image> /sbin/init` to `podman run <image> /bin/sh -c '<stuff> && exec /sbin/init` fails because in the latter case podman's auto-detection fails and we need to explicitly say `--systemd=always`. In retrospect obvious...but oh well. On the positive side, I think with some cleanup we could extend this model and generalize it for "test running in a container with systemd" (with a lot of cleanup really) Signed-off-by: Colin Walters <[email protected]>
Add a test case for our internal reboot command
cli: fix documentation of `bootc image cmd`
Add fork+exec based cleanup helper to prevent loopback device leaks when bootc install --via-loopback is interrupted by signals like SIGINT. - Add loopback-cleanup-helper CLI subcommand - Implement run_loopback_cleanup_helper() with PR_SET_PDEATHSIG - Update LoopbackDevice to spawn cleanup helper process - Add tests for spawn mechanism
blockdev: Fix loopback device resource leak on signal interruption
This reverts commit c2c918c. As it makes install to-disk fail: bootc-dev/bootc#1439
Revert "blockdev: implement signal-safe loopback device cleanup helper"
This adds two github actions, "Create Release PR" and "release". The first is scheduled to run every 3 weeks to automatically create a release PR that bumps the versions. The "release" action is triggered when the release PR is merged. It will create a draft release with the tars attached. Assited-by: Claude Code Signed-off-by: ckyrouac <[email protected]>
Also pull in `composefs-boot` and `composefs-oci` Signed-off-by: Johan-Liebert1 <[email protected]>
This fixes the bug where the specific layers were looking at the wrong meta object to allocate files to the layer. Assisted-by: Claude code Signed-off-by: ckyrouac <[email protected]>
Bump composefs-rs
These are failing due to infra issues apparently, and we have coverage at release time, we really don't need to build every single PR by default. Signed-off-by: Colin Walters <[email protected]>
If enabled this pulls in git main of ostree which I want for soft reboot work. Signed-off-by: Colin Walters <[email protected]>
To paper over the fork-vs-fsverity issue a bit more. Signed-off-by: Colin Walters <[email protected]>
This is soon to go EOL and I don't think we need to keep testing it upstream. In particular the integration tests are super expensive and slow and this should cut down our usage of them.
ci: Drop ppc64le && Fedora 41
Add fork+exec based cleanup helper to prevent loopback device leaks when bootc install --via-loopback is interrupted by signals like SIGINT. - Add loopback-cleanup-helper CLI subcommand - Implement run_loopback_cleanup_helper() with PR_SET_PDEATHSIG - Update LoopbackDevice to spawn cleanup helper process - Add tests for spawn mechanism
chunking: Fix specific component file allocation
fsverity: use _with_retry
Dockerfile: Support pulling in the continuous repo
Split the kernel command line parsing functionality into two focused modules. The `bytes` module handles raw byte parsing without UTF-8 requirements, matching kernel behavior for arbitrary byte sequences. The `utf8` module provides string-based parsing for cases where UTF-8 validation is needed. The `utf8` module reuses the `bytes` module primitives where possible, and uses the fact that `utf8::Cmdline` can only be constructed from valid UTF-8 to do unchecked conversions between the two. Signed-off-by: John Eckersberg <[email protected]>
tests: Verify we emit journal messages
Signed-off-by: Xiaofeng Wang <[email protected]>
Signed-off-by: Xiaofeng Wang <[email protected]>
Signed-off-by: Xiaofeng Wang <[email protected]>
Signed-off-by: Xiaofeng Wang <[email protected]>
ostree: Set parent of merge commit to base commit if present
- Removed `From<bytes::Parameter>` implementation for `utf8::Parameter` and similar for `utf8::ParameterKey`. This was public and would allow end-users to construct utf8 parameters from non-utf8 data. Replaced internally with `from_bytes` in the places where we know we can safely convert known-UTF-8 data. - Added `TryFrom<bytes::Paramter>` implementation for `utf8::Parameter` to allow checked conversions, plus tests. - Added `iter_utf8` and `find_utf8` to `bytes::Cmdline`, plus tests. - Updated `find_root_args_to_inherit` in bootc to use these improvements. Notably bootc will now allow non-UTF8 data in the kernel cmdline, *unless* it occurs in parameters that bootc is explicitly looking for. - Added more tests to `find_root_args_to_inherit` to validate expected functionality with non-UTF-8 data. - Fixed a parser bug that gemini pointed out with unmatched quotes, plus tests to check for that. Signed-off-by: John Eckersberg <[email protected]>
kernel_cmdline: Refactor into separate `bytes` and `utf8` modules
test: Add integration test running on github runner
Add `add_or_modify` and `remove` methods to `Cmdline` in both `bytes` and `utf8` modules, along with unit tests. Closes: #1596 Signed-off-by: John Eckersberg <[email protected]>
kernel_cmdline: Add parameter manipulation methods
No functional changes, prep for further work. Signed-off-by: Colin Walters <[email protected]>
store: Move inner merge commit writing to a helper function
Over in bootc-dev/bootc#1607 I actually *just* deduplicated this code, but that isn't ready to merge yet. Signed-off-by: Colin Walters <[email protected]>
integration: Copy distro-sync from main Dockerfile
See the updates to `Justfile` for how to use this. Closes: #1428 Assisted-By: Claude Code (opus + sonnet) Signed-off-by: Colin Walters <[email protected]>
Switch to hand-written man pages with auto option sync
A key thing for me is that the `Justfile` should be a one-stop shop for development of the project. It can't have everything but it should answer the basic questions of "how do I build and test this project". This aligns the recently added tmt-on-GHA flow a *bit* more closely with some of that. Biggest is to use the `just build-integration-test-image` as the canonical way to build a container image with our testing stuff in it; which uses our main Dockerfile Other cleanups: - Change test script to move into tests/tmt/ as a workaround for teemtee/tmt#3037 (comment) - Change the qemu logic to use SMBIOS credentials so we don't have to carry around both a disk image and a SSH key - Change qemu to use `-snapshot` so we can reuse disks - Change the scripts to accept data via argv[1] and not environment - Drop the hardcoded testing directory and use `target/` as a generic build artifact dir Signed-off-by: Colin Walters <[email protected]>
Signed-off-by: Colin Walters <[email protected]>
Synchronized from bootc-dev/infra@5661ee4. Signed-off-by: bootc-dev Bot <[email protected]> Co-authored-by: bootc-dev Bot <[email protected]>
Synchronized from bootc-dev/infra@3249ff0. Signed-off-by: bootc-dev Bot <[email protected]> Co-authored-by: bootc-dev Bot <[email protected]>
29ab5d6 to
4c39d3e
Compare
Synchronized from bootc-dev/infra@ac9dac0. Signed-off-by: bootc-dev Bot <[email protected]>
4c39d3e to
310c283
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Created by GitHub workflow (source).
This PR synchronizes common files from the infra repository.
Synchronized from bootc-dev/infra@ac9dac0.